const express = require('express');
const router = express.Router();
const { User,sequelize } = require('../../models');
const { success, failure } = require('../../utils/responses');

/**
 * 统计用户性别
 * GET /admin/charts
 */
router.get('/sex', async function (req, res) {
  try {
    const male = await User.count({ where: { sex: 0 } });
    const female = await User.count({ where: { sex: 1 } });
    const unknown = await User.count({ where: { sex: 2 } });
    
    const data = [
      { value: male, name: '男性' },
      { value: female, name: '女性' },
      { value: unknown, name: '未选择' }
      ];
    success(res, '查询用户性别成功。', { data });
  } catch (error) {
    // 返回错误信息
    failure(res, error);
  }
});
router.get('/user', async function (req, res) {
    //分组查询，查询每个月的用户量
    try {
    const [results] = await sequelize.query("SELECT DATE_FORMAT(createdAt, '%Y-%m') as `month`, COUNT(*) as `value` FROM `users` GROUP BY `month` ORDER BY `month` ASC")
    console.log(results, "results")
    const data = {
        months: [],
        values: [],
    };
    results.forEach(item => {
        data.months.push(item.month);
        data.values.push(item.value);
    });
    success(res, '查询每月用户数量成功。', { data });
  } catch (error) {
    // 返回错误信息
    failure(res, error);
  }
});
module.exports = router;